package cn.yx.common.core.enums.message;

import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;

/**
 * <p>消息推送通道枚举</p>
 *
 * @author Wgssmart
 */
public enum MessagePushChannelEnum {

    /**
     * 邮件消息
     */
    EMAIL("email"),
    /**
     * 手机短信
     */
    PHONE("phone"),
    /**
     * OA消息
     */
    OA("oa"),
    /**
     * 企业微信群消息，使用群机器人webhook发送消息
     */
    WECOM_GROUP("WeComGroup"),
    /**
     * 钉钉群消息，使用群机器人webhook发送消息
     */
    DINGTALK_GROUP("DingTalkGroup");

    private final String value;

    private static final Map<String, MessagePushChannelEnum> LOOKUP;

    static {
        LOOKUP = new HashMap<>();
        for (MessagePushChannelEnum messagePushChannelEnum : EnumSet.allOf(MessagePushChannelEnum.class)) {
            LOOKUP.put(messagePushChannelEnum.getValue(), messagePushChannelEnum);
        }
    }

    MessagePushChannelEnum(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }

    public static MessagePushChannelEnum findByValue(String value) {
        return LOOKUP.get(value);
    }
}